Method and system for predictive modeling of consumer profiles

ABSTRACT

A method, computer system, and computer program product that aggregates data regarding a plurality of factors correlated with demographic parameters; performs iterative analysis on the data using machine learning to construct a predictive model of purchasing propensity; populates, using the predictive model, a database with predicted values of spending propensity for selected demographic parameters; converts the predicted values of spending propensity in the database into percentages of observed values of spending propensity for a selected group of people within the selected demographic parameters over a specified time period to create indices of spending propensity; and rank orders the people within the selected group according to their indices of spending propensity.

BACKGROUND INFORMATION 1. Field

The present disclosure relates generally to an improved computer systemand, in particular, to a method and apparatus for machine learningpredictive modeling. Still more particularly, the present disclosurerelates to a method and apparatus for predicting a propensity ofconsumer spending.

2. Background

Consumer spending patterns are influenced by a plurality of demographicfeatures such as age, gender, and geographic region, as well asemployment factors such as income, job/profession, and industry/sectorof employment.

Ideally, marketing offers should be targeted to consumers with apropensity to purchase products within specific classes of goods andservices, which requires detailed information about potential buyers.However, when supplying person level employment and demographicinformation, the more specific and complete the information, the greaterthe probability of actually identifying the persons in questions,thereby violating privacy rights.

Therefore, it would be desirable to have a method and system thatprovides predictive modeling and indices that reflect predicted consumerspending propensities without divulging personal identity information.

SUMMARY

An embodiment of the present disclosure provides a computer-implementedmethod for predictive modeling. The computer system aggregates sampledata regarding a plurality of factors correlated with demographicparameters and performs iterative analysis on the data using machinelearning to construct a predictive model of purchasing propensity. Thecomputer system then populates, using the predictive model, a databasewith predicted values of spending propensity for selected demographicparameters. The computer system converts the predicted values ofspending propensity in the database into percentages of observed valuesof spending propensity for a selected group of people within theselected demographic parameters over a specified time period to createindices of spending propensity. The computer system then rank orders thepeople within the selected group according to their indices of spendingpropensity.

Another embodiment of the present disclosure provides a machine learningpredictive modeling system comprising a computer system and one or moreprocessors running on the computer system. The one or more processorsaggregate sample data regarding a plurality of factors correlated withdemographic parameters; perform iterative analysis on the data usingmachine learning to construct a predictive model of purchasingpropensity; populate, using the predictive model, a database withpredicted values of spending propensity for selected demographicparameters; convert the predicted values of spending propensity in thedatabase into percentages of observed values of spending propensity fora selected group of people within the selected demographic parametersover a specified time period to create indices of spending propensity;and rank order the people within the selected group according to theirindices of spending propensity.

Another embodiment of the present disclosure provides a computer programproduct for machine learning predictive modeling comprising a persistentcomputer-readable storage media; first program code, stored on thecomputer-readable storage media, for aggregating sample data regarding aplurality of factors correlated with demographic parameters; secondprogram code, stored on the computer-readable storage media, forperforming, by one or more processors, iterative analysis on the datausing machine learning to construct a predictive model of purchasingpropensity; third program code, stored on the computer-readable storagemedia, for populating, using the predictive model, a database withpredicted values of spending propensity for selected demographicparameters; fourth program code, stored on the computer-readable storagemedia, for converting the predicted values of spending propensity in thedatabase into percentages of observed values of spending propensity fora selected group of people within the selected demographic parametersover a specified time period to create indices of spending propensity;and fifth program code, stored on the computer-readable storage media,for rank ordering the people within the selected group according totheir indices of spending propensity.

The features and functions can be achieved independently in variousembodiments of the present disclosure or may be combined in yet otherembodiments in which further details can be seen with reference to thefollowing description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the illustrativeembodiments are set forth in the appended claims. The illustrativeembodiments, however, as well as a preferred mode of use, furtherobjectives and features thereof, will best be understood by reference tothe following detailed description of an illustrative embodiment of thepresent disclosure when read in conjunction with the accompanyingdrawings, wherein:

FIG. 1 is an illustration of a diagram of a data processing environmentin accordance with an illustrative embodiment;

FIG. 2 is an illustration of a block diagram of a computer system forpredictive modeling in accordance with an illustrative embodiment;

FIG. 3 is an illustration of a database for access by a predictivemodeling application in accordance with an illustrative embodiment;

FIG. 4 is an illustration of a flowchart of a process for calculatingfactors used in predictive modeling in accordance with an illustrativeembodiment;

FIG. 5 is an illustration of a flowchart of a process for predictivemodeling and indexing in accordance with an illustrative embodiment;

FIG. 6 is an example table for use with a dataset in machine learning inaccordance with an illustrative embodiment; and

FIG. 7 is an illustration of a block diagram of a data processing systemin accordance with an illustrative embodiment.

DETAILED DESCRIPTION

The illustrative embodiments recognize and take into account one or moredifferent considerations. For example, the illustrative embodimentsrecognize and take into account that several parameters related todemographics and employment influence consumer propensities to purchasecertain types of goods and services.

The illustrative embodiments further recognize and take into accountthat as more specific demographic and employment information is gatheredfor any individual it becomes easier for third parties to identity thatspecific individual. Therefore, sharing consumer demographic informationrisks divulging specifically identifying information that violatesprivacy rights.

Thus, a method and apparatus that would allow for accurately predictingpurchasing propensities of consumers without revealing identifyinginformation would fill a long-felt need in the field of marketing andinstitutional lending.

The flowcharts and block diagrams in the different depicted embodimentsillustrate the architecture, functionality, and operation of somepossible implementations of apparatuses and methods in an illustrativeembodiment. In this regard, each block in the flowcharts or blockdiagrams may represent at least one of a module, a segment, a function,or a portion of an operation or step. For example, one or more of theblocks may be implemented as program code.

In some alternative implementations of an illustrative embodiment, thefunction or functions noted in the blocks may occur out of the ordernoted in the figures. For example, in some cases, two blocks shown insuccession may be performed substantially concurrently, or the blocksmay sometimes be performed in the reverse order, depending upon thefunctionality involved. Also, other blocks may be added, in addition tothe illustrated blocks, in a flowchart or block diagram.

As used herein, the phrase “at least one of,” when used with a list ofitems, means different combinations of one or more of the listed itemsmay be used and only one of each item in the list may be needed. Inother words, “at least one of” means any combination of items and numberof items may be used from the list, but not all of the items in the listare required. The item may be a particular object, thing, or a category.

For example, without limitation, “at least one of item A, item B, oritem C” may include item A, item A and item B, or item B. This examplealso may include item A, item B, and item C or item B and item C. Ofcourse, any combinations of these items may be present. In someillustrative examples, “at least one of” may be, for example, withoutlimitation, two of item A, one of item B, and ten of item C; four ofitem B and seven of item C; or other suitable combinations.

With reference now to the figures and, in particular, with reference toFIG. 1, an illustration of a diagram of a data processing environment isdepicted in accordance with an illustrative embodiment. It should beappreciated that FIG. 1 is only provided as an illustration of oneimplementation and is not intended to imply any limitation with regardto the environments in which the different embodiments may beimplemented. Many modifications to the depicted environments may bemade.

The computer-readable program instructions may also be loaded onto acomputer, a programmable data processing apparatus, or other device tocause a series of operational steps to be performed on the computer, aprogrammable apparatus, or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, the programmable apparatus, or the other device implement thefunctions and/or acts specified in the flowchart and/or block diagramblock or blocks.

FIG. 1 depicts a pictorial representation of a network of dataprocessing systems in which illustrative embodiments may be implemented.Network data processing system 100 is a network of computers in whichthe illustrative embodiments may be implemented. Network data processingsystem 100 contains network 102, which is a medium used to providecommunications links between various devices and computers connectedtogether within network data processing system 100. Network 102 mayinclude connections, such as wire, wireless communication links, orfiber optic cables.

In the depicted example, server computer 104 and server computer 106connect to network 102 along with storage unit 108. In addition, clientcomputers include client computer 110, client computer 112, and clientcomputer 114. Client computer 110, client computer 112, and clientcomputer 114 connect to network 102. These connections can be wirelessor wired connections depending on the implementation. Client computer110, client computer 112, and client computer 114 may be, for example,personal computers or network computers. In the depicted example, servercomputer 104 provides information, such as boot files, operating systemimages, and applications to client computer 110, client computer 112,and client computer 114. Client computer 110, client computer 112, andclient computer 114 are clients to server computer 104 in this example.Network data processing system 100 may include additional servercomputers, client computers, and other devices not shown.

Program code located in network data processing system 100 may be storedon a computer-recordable storage medium and downloaded to a dataprocessing system or other device for use. For example, the program codemay be stored on a computer-recordable storage medium on server computer104 and downloaded to client computer 110 over network 102 for use onclient computer 110.

In the depicted example, network data processing system 100 is theInternet with network 102 representing a worldwide collection ofnetworks and gateways that use the Transmission ControlProtocol/Internet Protocol (TCP/IP) suite of protocols to communicatewith one another. At the heart of the Internet is a backbone ofhigh-speed data communication lines between major nodes or hostcomputers consisting of thousands of commercial, governmental,educational, and other computer systems that route data and messages. Ofcourse, network data processing system 100 also may be implemented as anumber of different types of networks, such as, for example, anintranet, a local area network (LAN), or a wide area network (WAN). FIG.1 is intended as an example, and not as an architectural limitation forthe different illustrative embodiments.

The illustration of network data processing system 100 is not meant tolimit the manner in which other illustrative embodiments can beimplemented. For example, other client computers may be used in additionto or in place of client computer 110, client computer 112, and clientcomputer 114 as depicted in FIG. 1. For example, client computer 110,client computer 112, and client computer 114 may include a tabletcomputer, a laptop computer, a bus with a vehicle computer, and othersuitable types of clients.

In the illustrative examples, the hardware may take the form of acircuit system, an integrated circuit, an application-specificintegrated circuit (ASIC), a programmable logic device, or some othersuitable type of hardware configured to perform a number of operations.With a programmable logic device, the device may be configured toperform the number of operations. The device may be reconfigured at alater time or may be permanently configured to perform the number ofoperations. Programmable logic devices include, for example, aprogrammable logic array, programmable array logic, a field programmablelogic array, a field programmable gate array, and other suitablehardware devices. Additionally, the processes may be implemented inorganic components integrated with inorganic components and may becomprised entirely of organic components, excluding a human being. Forexample, the processes may be implemented as circuits in organicsemiconductors.

Turning to FIG. 2, a block diagram of a computer system for predictivemodeling is depicted in accordance with an illustrative embodiment.Computer system 200 is connected to internal databases 260 and devices280. Internal databases 260 comprise payrolls 262, tax forms 264,personal information 266, and employer information 268. Devices 280comprise non-mobile devices 282 and mobile devices 284.

Computer system 200 comprises information processing unit 216, machineintelligence 218, and indexing program 230. Machine intelligence 218comprises machine learning 220 and predictive algorithms 222.

Machine intelligence 218 can be implemented using one or more systemssuch as an artificial intelligence system, a neural network, a Bayesiannetwork, an expert system, a fuzzy logic system, a genetic algorithm, orother suitable types of systems. Machine learning 220 and predictivealgorithms 222 may make computer system 200 a special purpose computerfor dynamic predictive modelling of consumer spending profiles.

In an embodiment, processing unit 216 comprises one or more conventionalgeneral purpose central processing units (CPUs). In an alternateembodiment, processing unit 216 comprises one or more graphicalprocessing units (GPUs). Though originally designed to accelerate thecreation of images with millions of pixels whose frames need to becontinually recalculated to display output in less than a second, GPUsare particularly well suited to machine learning. Their specializedparallel processing architecture allows them to perform many morefloating point operations per second then a CPU, on the order of 1000×more. GPUs can be clustered together to run neural networks comprisinghundreds of millions of connection nodes.

Indexing program 230 comprises information gathering 252, selecting 232,modeling 234, comparing 236, indexing 238, ranking 240, and displaying242. Information gathering 252 comprises internal 254. Internal 254 isconfigured to gather data from internal databases 260.

Thus, processing unit 216, machine intelligence 218, and indexingprogram 230 transform a computer system into a special purpose computersystem as compared to currently available general computer systems thatdo not have a means to perform machine learning predictive modeling suchas computer system 200 of FIG. 2. Currently used general computersystems do not have a means to accurately predict and compare consumerspending profiles without revealing the identities of the consumers inquestion.

Turning to FIG. 3, a block diagram of a database is depicted inaccordance with an illustrative embodiment. Database 300 comprisesconnections 310, employee personal data 320, financial data 330, andemployment data 340. Connections 310 comprise internet 312, wireless314, and others 316. Connections 310 may provide connectivity withinternal databases 260 and devices 280 shown in FIG. 2. Internet 312 andwireless 314 as well as others 316 in connections 310 in FIG. 3 mayconnect with internal databases 260 and devices 280 shown in FIG. 2,through a network such as network 102 in FIG. 1. Others 316 may compriseany additional available means of connection other than internet 312 andwireless 314 such as a hard wired connection or a landline.

Personal data 320 contains employee demographic information. Informationregarding the employee's age is maintained in age 322. Informationregarding the employee's gender is maintaining in gender 324.Information regarding the employee's place of residence is maintained inresidence 326.

Financial data 330 contains employee compensation information and taxforms. Information regarding the employee salary is maintained in salary332. Information regarding employee tax filing status is maintained intax forms 334.

Employment data 340 comprises information about an employee'semployment. Information regarding the industry/sector in which anemployee is employed is maintained in industry/sector 342. A sectoridentifies a high-level group of related businesses. It can be thoughtof as a generic type of business. For example, the North AmericanIndustry Classification System (NAICS) uses a six digit code to identifyan industry. The first two digits of that code identify the sector inwhich the industry belongs. Information regarding the employee's jobtitle and description is maintained in job 344.

Turning to FIG. 4, an illustration of a flowchart for calculatingfactors used in predictive modeling is depicted in accordance with anillustrative embodiment. This process can be implemented in software,hardware, or a combination of the two. When software is used, thesoftware comprises program code that can be loaded from a storage deviceand run by a processor unit in a computer system such as computer system200 in FIG. 2. Computer system 200 may reside in a network dataprocessing system such as network data processing system 100 in FIG. 1.For example, computer system 200 may reside on one or more of servercomputer 104, server computer 106, client computer 110, client computer112, and client computer 114 connected by network 102 in FIG. 1.Moreover, the process can be implemented by data processing system 700in FIG. 7 and a processing unit such as processor unit 704 in FIG. 7.

It should be emphasized that the specific sequence of steps in theillustrative embodiment shown in FIG. 4 is chosen merely forconvenience. The factors shown in FIG. 4 can be calculated independentlyin any particular order or may be calculated in parallel by separateprocessors or processor threads, depending on the specific architectureof the computer system used. In the illustrative embodiment the factorsare calculated using the information maintained in database 300 shown inFIG. 3.

Process 400 begins by determining employee salary (step 402). Next theprocess determines the employee's age (step 404) and gender (step 406).Marital status is determined indirectly from the employee tax filingstatus contained in the tax forms (step 408).

Process 400 determines the geographic area of residence (step 410).Since real estate markets are highly local, the smaller the geographicarea chosen (i.e. zip/postal code), the more accurate the predictivemodel. The area of residence not only provides information regardinghousing costs and affordability but also more specific spending habitsregarding housing. For example, some postal/zip codes might have alarger percentage of home owners, while another area might have a largerpercentage of renters.

Next the process determines the industry/sector in which the employee isemployed (step 412) and the employee's job description within thatindustry/sector (step 414).

The person level characteristics depicted in FIG. 4 can be used toconstruct an accurate consumer spending profile including propensity tobuy certain products, income relative to age, job, geography, etc.Unfortunately, that same person level information might be used toactually identify the individual in question, leading to privacyconcerns. However, the present disclosure utilizes a large sample poolto create a standardized predictive model against which specificindividuals can be compared to derive an index for a given individual.This index makes it virtually impossible to identify the person inquestion.

The method of the present disclosure utilizes machine learning andpredictive algorithms such as those provided by machine intelligence 218in FIG. 2. Machine learning is a branch of artificial intelligence (AI)that enables computers to detect patterns and improve performancewithout direct programming commands. Rather than relying on direct inputcommands to complete a task, machine learning relies on input data. Thedata is fed into the machine, a predictive algorithm is selected,parameters for the data are configured, and the machine is instructed tofind patterns in the input data through trial and error. The data modelformed from analyzing the data is then used to predict future values.

Turning to FIG. 5, an illustration of a flowchart of a process forpredictive modeling and indexing is depicted in accordance with anillustrative embodiment. Process 500 can be implemented in software,hardware, or a combination of the two. When software is used, thesoftware comprises program code that can be loaded from a storage deviceand run by a processor unit in a computer system such as computer system200 in FIG. 2. Computer system 200 may reside in a network dataprocessing system such as network data processing system 100 in FIG. 1.For example, computer system 200 may reside on one or more of servercomputer 104, server computer 106, client computer 110, client computer112, and client computer 114 connected by network 102 in FIG. 1.Moreover, the process can be implemented by data processing system 700in FIG. 7 and a processing unit such as processor unit 704 in FIG. 7.

Process 500 begins by aggregating the employment and demographic dataassociated with the factors determined in the process flow in FIG. 4(step 502). Referring to FIG. 6, an example table for use with a datasetin machine learning is depicted in accordance with an illustrativeembodiment. The dataset used to form predictions is defined and labeledin a table such as table 600. Each column is known as a vector, and thedata within each column is a feature, also known as a variable,dimension, or attribute. Each row represents a single observation of agiven feature and is referred to as a case or value. The y valuesrepresent the output and are typically expressed in the final column asshown. For ease of illustration the example shown in FIG. 6 is a simple2-D table, but it should be noted that multiples vectors (formingmatrices) are typically used to represent large datasets. Referring backto FIG. 4, each category of data determined in the process flow could berepresented by a separate vector (column) in a tabular dataset dependingon how the data is aggregated.

After the dataset is aggregated, process 500 scrubs the dataset (step504). Very large datasets, sometimes referred to as Big Data, oftencontain noise and complicated data structures. Bordering on the order ofpetabytes, such datasets comprise a variety, volume, and velocity (rateof change) that defies conventional processing and is impossible for ahuman to process without advanced machine assistance. Scrubbing refersto the process of refining the dataset before using it to build apredictive model and includes modifying and/or removing incomplete dataor data with little predictive value. It can also entail converting textbased data into numerical values (one-hot encoding) or convert numericalvalues into a category.

After the dataset has been scrubbed, process 500 divides the data intotraining data and test data to be used for building and testing thepredictive model (step 506). To produce optimal results, the same datathat is used to test the model should not be the same data used fortraining. The data is divided by rows, with 70-80% used for training and20-30% used for testing. Randomizing the selection of the rows avoidsbias in the model.

Process 500 then performs iterative analysis on the training date byapplying predictive algorithms to construct a predictive model (step508). There are three main categories of machine learning: supervised,unsupervised, and reinforcement. Supervised machine learning comprisesproviding the machine with test data and the correct output value of thedata. Referring back to table 600 in FIG. 6, during supervised learningthe values for the y column (output) are provided along with thetraining data (labeled dataset) for the model building process in step508. The algorithm, through trial and error, deciphers the patterns thatexist between the input training data and the known output values tocreate a model that can reproduce the same underlying rules with newdata. Examples of supervised learning algorithms include regressionanalysis, decisions trees, k-nearest neighbors, neural networks, andsupport vector machines.

If unsupervised learning is used, not all of the variables and datapatterns are labeled, forcing the machine to discover hidden patternsand create labels on its own through the use of unsupervised learningalgorithms. Unsupervised learning has the advantage of discoveringpatterns in the data no one previously knew existed. Examples ofalgorithms used in unsupervised machine learning include k-meansclustering (k-NN), association analysis, and descending clustering.

After the model is constructed, the test data is fed into model to testits accuracy (step 510). In an embodiment the model is tested using meanabsolute error, which examines each prediction in the model and providesan average error score for each prediction. If the error rate betweenthe training and test dataset is below a predetermined threshold, themodel has learned the dataset's pattern and passed the test.

If the model fails the test the hyperparameters of the model are changedand/or the training and test data are re-randomized, and the iterativeanalysis of the training data is repeated (step 512). Hyperparametersare the settings of the algorithm that control how fast the model learnspatterns and which patterns to identify and analyze. Once a model haspassed the test stage it is ready for application.

Whereas supervised and unsupervised learning reach an endpoint after apredictive model is constructed and passes the test in step 510,reinforcement learning continuously improves its model using feedbackfrom application to new empirical data. Algorithms such as Q-learningare used to train the predictive model through continuous learning usingmeasurable performance criteria (discussed in more detail below).

After the model is constructed and tested for accuracy, process 500 usesthe model to calculate predicted consumer spending propensities based ondifferent income and other demographic parameters and populates adatabase with the predicted values (step 514). The spending propensityis a metric representing a propensity to buy specific consumer productsor types of products in relation to demographic parameters. For example,the model might be constructed to calculate a propensity of peoplewithin a specific age range, income level, and geographic area to buyhome improvement items. As another example, the model might beconstructed to calculate a propensity for people within a specifiedincome range, profession, and age range to buy specific insurancepolicies. The more demographic parameters chosen, the more accurate themodel but the more complex the interrelations of the factors that themachine learning must deal with, especially for large datasets.

Observed spending propensities are then calculated for individuals inthe data pool falling within the demographic parameters of thepredictive model (Step 516). This spending propensity abstracts thedetailed person level information into a metric.

The predicted spending propensity value is then converted into apercentage of the observed propensity value for each individual withinthe chosen parameters to form an index (step 518). The index iscalculated by dividing the observed value by the predicted value andthen multiplying by 100. A percentage greater than 100% identifiespeople that have a higher propensity to buy that kind of product thanmost people with similar demographic parameters. A percentage less than100% identifies employees less likely to buy the product than mostpeople with similar demographic parameters.

After the indices have been calculated, process 500 rank ordersindividuals by index (step 520). The indices allow businesses toidentify their best and worst target markets based on the income andother demographic parameters. By standardizing the person level datainto a metric before calculating the indices, the probability of thirdparties identifying the specific persons in the sample pool is minisculeif not impossible. This process thereby allows the sharing of personlevel information without enabling person identification.

If reinforcement learning is used with the predictive modelling, theprofile index rankings are compared to observed propensities of thegroup in question over a subsequent time period (e.g., month, quarter,year, etc.) (step 522). The actual demonstrated propensities might notconform as expected to their relative index ranking. Furthermore, thesample data used to construct the predictive model might becomeoutdated. Updated employment and demographic data is collected after thesubsequent time period and fed back into the machine learning to updateand modify the predictive model (step 524).

The illustrative embodiments thus produce the technical effect ofconstructing accurate, complex predictive models from large datasets anddo so in a timely manner in the face of rapidly changing empirical data.

Turning now to FIG. 7, an illustration of a block diagram of a dataprocessing system is depicted in accordance with an illustrativeembodiment. Data processing system 700 may be used to implement one ormore computers and client computer system 112 in FIG. 1. In thisillustrative example, data processing system 700 includes communicationsframework 702, which provides communications between processor unit 704,memory 706, persistent storage 708, communications unit 710,input/output unit 712, and display 714. In this example, communicationsframework 702 may take the form of a bus system.

Processor unit 704 serves to execute instructions for software that maybe loaded into memory 706. Processor unit 704 may be a number ofprocessors, a multi-processor core, or some other type of processor,depending on the particular implementation. In an embodiment, processorunit 704 comprises one or more conventional general purpose centralprocessing units (CPUs). In an alternate embodiment, processor unit 704comprises one or more graphical processing units (CPUs).

Memory 706 and persistent storage 708 are examples of storage devices716. A storage device is any piece of hardware that is capable ofstoring information, such as, for example, without limitation, at leastone of data, program code in functional form, or other suitableinformation either on a temporary basis, a permanent basis, or both on atemporary basis and a permanent basis. Storage devices 716 may also bereferred to as computer-readable storage devices in these illustrativeexamples. Memory 716, in these examples, may be, for example, a randomaccess memory or any other suitable volatile or non-volatile storagedevice. Persistent storage 708 may take various forms, depending on theparticular implementation.

For example, persistent storage 708 may contain one or more componentsor devices. For example, persistent storage 708 may be a hard drive, aflash memory, a rewritable optical disk, a rewritable magnetic tape, orsome combination of the above. The media used by persistent storage 708also may be removable. For example, a removable hard drive may be usedfor persistent storage 708. Communications unit 710, in theseillustrative examples, provides for communications with other dataprocessing systems or devices. In these illustrative examples,communications unit 710 is a network interface card.

Input/output unit 712 allows for input and output of data with otherdevices that may be connected to data processing system 700. Forexample, input/output unit 712 may provide a connection for user inputthrough at least one of a keyboard, a mouse, or some other suitableinput device. Further, input/output unit 712 may send output to aprinter. Display 714 provides a mechanism to display information to auser.

Instructions for at least one of the operating system, applications, orprograms may be located in storage devices 716, which are incommunication with processor unit 704 through communications framework702. The processes of the different embodiments may be performed byprocessor unit 704 using computer-implemented instructions, which may belocated in a memory, such as memory 706.

These instructions are referred to as program code, computer-usableprogram code, or computer-readable program code that may be read andexecuted by a processor in processor unit 704. The program code in thedifferent embodiments may be embodied on different physical orcomputer-readable storage media, such as memory 706 or persistentstorage 708.

Program code 718 is located in a functional form on computer-readablemedia 720 that is selectively removable and may be loaded onto ortransferred to data processing system 600 for execution by processorunit 704. Program code 718 and computer-readable media 720 form computerprogram product 722 in these illustrative examples. In one example,computer-readable media 720 may be computer-readable storage media 724or computer-readable signal media 726.

In these illustrative examples, computer-readable storage media 724 is aphysical or tangible storage device used to store program code 718rather than a medium that propagates or transmits program code 718.Alternatively, program code 718 may be transferred to data processingsystem 700 using computer-readable signal media 726.

Computer-readable signal media 726 may be, for example, a propagateddata signal containing program code 718. For example, computer-readablesignal media 726 may be at least one of an electromagnetic signal, anoptical signal, or any other suitable type of signal. These signals maybe transmitted over at least one of communications links, such aswireless communications links, optical fiber cable, coaxial cable, awire, or any other suitable type of communications link.

The different components illustrated for data processing system 700 arenot meant to provide architectural limitations to the manner in whichdifferent embodiments may be implemented. The different illustrativeembodiments may be implemented in a data processing system includingcomponents in addition to or in place of those illustrated for dataprocessing system 700. Other components shown in FIG. 7 can be variedfrom the illustrative examples shown. The different embodiments may beimplemented using any hardware device or system capable of runningprogram code 718.

The flowcharts and block diagrams in the different depicted embodimentsillustrate the architecture, functionality, and operation of somepossible implementations of apparatuses and methods in an illustrativeembodiment. In this regard, each block in the flowcharts or blockdiagrams may represent at least one of a module, a segment, a function,or a portion of an operation or step. For example, one or more of theblocks may be implemented as program code.

In some alternative implementations of an illustrative embodiment, thefunction or functions noted in the blocks may occur out of the ordernoted in the figures. For example, in some cases, two blocks shown insuccession may be performed substantially concurrently, or the blocksmay sometimes be performed in the reverse order, depending upon thefunctionality involved. Also, other blocks may be added in addition tothe illustrated blocks in a flowchart or block diagram.

The description of the different illustrative embodiments has beenpresented for purposes of illustration and description and is notintended to be exhaustive or limited to the embodiments in the formdisclosed. The different illustrative examples describe components thatperform actions or operations. In an illustrative embodiment, acomponent may be configured to perform the action or operationdescribed. For example, the component may have a configuration or designfor a structure that provides the component an ability to perform theaction or operation that is described in the illustrative examples asbeing performed by the component. Many modifications and variations willbe apparent to those of ordinary skill in the art. Further, differentillustrative embodiments may provide different features as compared toother desirable embodiments. The embodiment or embodiments selected arechosen and described in order to best explain the principles of theembodiments, the practical application, and to enable others of ordinaryskill in the art to understand the disclosure for various embodimentswith various modifications as are suited to the particular usecontemplated.

What is claimed is:
 1. A computer-implemented method for predictivemodeling, the method comprising: aggregating, by one or more processors,sample data regarding a plurality of factors correlated with demographicparameters; performing, by one or more processors, iterative analysis onthe data using machine learning to construct a predictive model ofpurchasing propensity; populating, by one or more processors using thepredictive model of purchasing propensity, a database with predictedvalues of spending propensity for selected demographic parameters,wherein the spending propensity is a metric representing a propensity tobuy specific consumer products or types of products in relation to thedemographic parameters; converting, by one or more processors, thepredicted values of spending propensity in the database into percentagesof observed values of spending propensity for a selected group of peoplewithin the selected demographic parameters over a specified time periodto create indices of spending propensity without enabling individualperson identification of any person in the selected group of people;rank ordering, by one or more processors, the people within the selectedgroup according to their indices of spending propensity in order toidentify target markets based on the selected demographic parameters;comparing, by one or more processors, the rank ordering of indices ofspending propensity to observed spending propensity of the selectedgroup of people over a second specified time period; aggregating, by oneor more processors, updated sample data over the second specified timeperiod; and updating, by one or more processors, the predictive modelusing machine learning incorporating the updated sample data for thesecond specified time period.
 2. The method according to claim 1,wherein categories of data applied to the machine learning predictivemodeling include at least one of: age; gender; marital status; salary;geographic region; industry/sector of employment; and job description.3. The method according to claim 1, wherein the indices of spendingpropensity represent a propensity to purchase a specified consumerproduct.
 4. The method according to claim 1, wherein the machinelearning uses supervised learning to construct the predictive model, andwherein performing the iterative analysis on the data using the machinelearning comprises: dividing the data into training data used toconstruct the predictive model and test data used to test the predictivemodel; testing the predictive model using the test data; and responsiveto an error rate between the training data and the test data exceeding apredetermined threshold, re-randomizing the training data and the testdata to re-construct the predictive model.
 5. The method according toclaim 1, wherein the machine learning uses unsupervised learning toconstruct the predictive model, and wherein performing the iterativeanalysis on the data using the machine learning comprises: dividing thedata into training data used to construct the predictive model and testdata used to test the predictive model; testing the predictive modelusing the test data; and responsive to an error rate between thetraining data and the test data exceeding a predetermined threshold,re-randomizing the training data and the test data to re-construct thepredictive model.
 6. The method according to claim 1, wherein themachine learning uses reinforcement learning to construct the predictivemodel.
 7. A machine learning predictive modeling system, comprising: acomputer system; one or more processors running on the computer system,wherein the one or more processors aggregate sample data regarding aplurality of factors correlated with demographic parameters; performiterative analysis on the data using machine learning to construct apredictive model of purchasing propensity; populate, using thepredictive model of purchasing propensity, a database with predictedvalues of spending propensity for selected demographic parameters,wherein the spending propensity is a metric representing a propensity tobuy specific consumer products or types of products in relation to thedemographic parameters; convert the predicted values of spendingpropensity in the database into percentages of observed values ofspending propensity for a selected group of people within the selecteddemographic parameters over a specified time period to create indices ofspending propensity without enabling individual person identification ofany person in the selected group of people; rank order the people withinthe selected group according to their indices of spending propensity inorder to identify target markets based on the selected demographicparameters; wherein the one or more processors running on the computersystem compare the rank ordering of indices of spending propensity toobserved spending propensity of the selected group over a secondspecified time period; aggregate updated sample data over the secondspecified time period; and update the predictive model using machinelearning incorporating the updated sample data for the second specifiedtime period.
 8. The machine learning predictive modeling systemaccording to claim 7, wherein the one or more processors compriseaggregated graphical processor units (GPU) that are clustered togetherto run neural networks.
 9. The machine learning predictive modelingsystem according to claim 7, wherein the machine learning usessupervised learning to construct the predictive model, and whereinperforming the iterative analysis on the data using the machine learningcomprises: dividing the data into training data used to construct thepredictive model and test data used to test the predictive model;testing the predictive model using the test data; and responsive to anerror rate between the training data and the test data exceeding apredetermined threshold, re-randomizing the training data and the testdata to re-construct the predictive model.
 10. The machine learningpredictive modeling system according to claim 7, wherein the machinelearning uses unsupervised learning to construct the predictive model,and wherein performing the iterative analysis on the data using themachine learning comprises: dividing the data into training data used toconstruct the predictive model and test data used to test the predictivemodel; testing the predictive model using the test data; and responsiveto an error rate between the training data and the test data exceeding apredetermined threshold, re-randomizing the training data and the testdata to re-construct the predictive model.
 11. The machine learningpredictive modeling system according to claim 7, wherein the machinelearning uses reinforcement learning to construct the predictive model.12. A computer program product for machine learning predictive modeling,the computer program product comprising: a persistent computer-readablestorage media; first program code, stored on the computer-readablestorage media, for aggregating data regarding a plurality of factorscorrelated with demographic parameters; second program code, stored onthe computer-readable storage media, for performing, by one or moreprocessors, iterative analysis on the data using machine learning toconstruct a predictive model of purchasing propensity; third programcode, stored on the computer-readable storage media, for populating,using the predictive model of purchasing propensity, a database withpredicted values of spending propensity for selected demographicparameters, wherein the spending propensity is a metric representing apropensity to buy specific consumer products or types of products inrelation to the demographic parameters; fourth program code, stored onthe computer-readable storage media, for converting the predicted valuesof spending propensity in the database into percentages of observedvalues of spending propensity for a selected group of people within theselected demographic parameters over a specified time period to createindices of spending propensity without enabling individual personidentification of any person in the selected group of people; fifthprogram code, stored on the computer-readable storage media, for rankordering the people within the selected group according to their indicesof spending propensity in order to identify target markets based on theselected demographic parameters; sixth program code, stored on thecomputer-readable storage media, for comparing the rank ordering ofindices of spending propensity to observed spending propensity of theselected group over a second specified time period; seventh programcode, stored on the computer-readable storage media, for aggregatingupdated sample data over the second specified time period; and eighthprogram code, stored on the computer-readable storage media, forupdating the predictive model using machine learning incorporating theupdated sample data for the second specified time period.
 13. Thecomputer program product according to claim 12, wherein categories ofapplied to the machine learning predictive modeling include at least oneof: age; gender; marital status; salary; geographic region;industry/sector of employment; and job description.
 14. The computerprogram product according to claim 12, wherein the indices of spendingpropensity represent a propensity to purchase a specified consumerproduct.
 15. The computer program product according to claim 12, whereinthe machine learning uses supervised learning to construct thepredictive model, and wherein performing the iterative analysis on thedata using the machine learning comprises: dividing the data intotraining data used to construct the predictive model and test data usedto test the predictive model; testing the predictive model using thetest data; and responsive to an error rate between the training data andthe test data exceeding a predetermined threshold, re-randomizing thetraining data and the test data to re-construct the predictive model.16. The computer program product according to claim 12, wherein themachine learning uses unsupervised learning to construct the predictivemodel, and wherein performing the iterative analysis on the data usingthe machine learning comprises: dividing the data into training dataused to construct the predictive model and test date used to test thepredictive model; testing the predictive model using test data; andresponsive to an error rate between the training data and the test dataexceeding a predetermined threshold, re-randomizing the training dataand the test data to re-construct the predictive model.
 17. The computerprogram product according to claim 12, wherein the machine learning usesreinforcement learning to construct the predictive model.
 18. The methodaccording to claim 1, wherein the data is divided into training data andtest data prior to performing the iterative analysis.
 19. The machinelearning predictive modeling system according to claim 7, wherein thedata is divided into training data and test data prior to performing theiterative analysis.
 20. The computer program product according to claim12, wherein the data is divided into training data and test data priorto performing the iterative analysis.